package test.demo;

import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;

public class MemoryTimeUtils {

    public static boolean isToday(Date date) {
        LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
        LocalDate today = LocalDate.now();
        return localDate.equals(today);
    }

    /**
     * @param date      制定日期。
     * @param hourCount 负数回退，正值前。
     * @return
     */
    public static Date changeDateByHour(Date date, int hourCount) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.HOUR, hourCount);
        return calendar.getTime();
    }

    /**
     * 特殊处理时间、
     *
     * @param date
     * @return
     */
    public static Date changeDateByTime150(Date date) {
        return isToday(date) ? changeDateByHour(date, -1) : date;
    }

    public static String dateTimeText(Date date) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedNow = sdf.format(date); // 当前时间的字符串表示
        // 输出结果
        // System.out.println("当前时间: " + formattedNow); // 输出当前时间的格式化字符串
        return formattedNow;
    }
}
